package com.crm.dao;

import java.io.Serializable;
import java.util.List;

import org.hibernate.criterion.DetachedCriteria;

/**
 * @author Yusei
 * 提取dao层的通用方法
 * 增删改
 * 查的话，和上面三个稍微不一样
 */
public interface BaseDao<T> {
	// 增
	public void save(T t);
	// 删
	public void delete(T t);
	// 改
	public void update(T t);
	// 根据id查询
	public T findById(Serializable id);
	// 查询所有
	public List<T> findAll();
	// 统计个数
	public Integer findCount(DetachedCriteria detachedCriteria);
	// 分页查询
	public List<T> findByPage(DetachedCriteria detachedCriteria, Integer begin, Integer pageSize);
}
